using System.Collections.Generic;
using PetaPoco;

namespace MVC.Music.Data.Interfaces
{
    interface IRepository<T> where T:class
    {
        T Single(object primaryKey);
        IEnumerable<T> Query();
        List<T> Fetch();
        Page<T> PagedQuery(long pageNumber, long itemsPerPage, string sql, params object[] args);
        int Insert(object itemToAdd);
        int Update(object itemToUpdate, object primaryKeyValue);
        int Delete(object primaryKeyValue);
    }
}
